{ "cells": [ { "cell_type": "markdown", "id": "bb3b3564-fad4-4beb-8274-051385b8ad99", "metadata": {}, "source": [ "# Quantum Inspire performance test\n", "\n", "We compare performance of the simulator with the circuit from \"Overview and Comparison of Gate Level Quantum Software Platforms\", https://arxiv.org/abs/1807.02500" ] }, { "cell_type": "code", "execution_count": 10, "id": "405026b3-84de-403f-a65b-17a4f32e59c7", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from qiskit import ClassicalRegister, QuantumCircuit, QuantumRegister\n", "from qiskit.visualization import plot_histogram\n", "\n", "from qiskit_quantuminspire.qi_provider import QIProvider" ] }, { "cell_type": "markdown", "id": "fdeea15e-13be-4451-8745-e0608b0673ef", "metadata": {}, "source": [ "We define the circuit based on the number of qubits and the depth (e.g. the number of iterations of the unit building block)." ] }, { "cell_type": "code", "execution_count": 2, "id": "d2484486-175c-4108-904b-6cb5d2486301", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0IAAAFvCAYAAABn83u1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABosUlEQVR4nO3deVxU9f4/8NcsrAqyyyayiaCikguaWy4k7plbN7tpll/t5tVbpjetrmaZmpaW3qxfmZp1yVxKc9cwt1Rwyx0QAWVTEQXZmZnz+4OYRAadGWfmwJzX8/HwoXPmLO/jfAbmNZ/P+RyZIAgCiIiIiIiIJEQudgFERERERESWxiBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSwyBERERERESSoxS7ACIxJCYmGrR+Xl4eNm/ejGeffRYeHh56bdOpUydjSiMLYRsgIiKSNvYIEekhLy8PX3/9NfLy8sQuhUTCNkBERGRdGISIiIiIiEhyGISIiIiIiEhyGISIiIiIiEhyGISI9ODk5ITY2Fg4OTmJXQqJhG2AiIjIusgEQRDELoLI0gydMcwYnDGsfmMbICIikjb2CBHpoby8HNevX0d5ebnYpZBI2AaIiIisC4MQkR7S0tIwYsQIpKWliV0KiYRtgIiIyLrwhqpWRBAEoKF9W21nB5lMJnYVVkMQBKhKG1YbUDqwDRARkekIggC1Wi12GQZRKBT8XSgCBiFrUl4O1ehxYldhEOWPawF7e7HLsBqq0nJ8H/KC2GUYZGzqd7BxZBsgIiLTUKvV2LRpk9hlGGTEiBFQKvmx3NI4NI6IiIiIiCSHQYiIiIiIiCSHfXBEeggPD0dCQoLYZZCI2AaIiIisC3uEiIiIiIhIchiEiPSQkZGBCRMmICMjQ+xSSCRSbQMqlQap1wtxLjkf51Py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+ap/B8R2QsbOhFrrR059Fk6B3jj54fcWrVMMUmkDREREUsEgRERabq0DteHHvW0wbv8Zinyfal9jOBwAtJ48FM0HRmPf2PlQl1ZYvFYiIiKix8EgREQAAEdvN0AQUJKbDwBwi2iOO5evwSOqBQpSsqAqKdOu22rSYAQN74Y9Y+ahorBErJKJiIiIjCa5a4SISDe3NkHa3iAAqCgsRvi4/ijPv4dru/4aFufo44bOc8ejMD0XsRvnAgDUFSpsHzTL0iUTERERGY1BiEgPdnZ2aNmyJezs7MQuxWwy951E5r6T2sfbBrwFABj221Lsvm9q7JKcfKzxGWnx+sQmhTZAREQkJQxCRHoICgrCunXrxC5DFFueel3sEuoFKbcBIiIia8RrhIiIiIiISHIYhIj0kJSUhG7duiEpKUnsUkgkbANERETWhUGISA+CIKCyshKCIIhdComEbYCIiMi68Boha2JnB+WPa8WuwjC88NyklA52GJv6ndhlGETpwDZARERkKgqFAiNGjDDZ/hZ/uR73iovh1KgRZkwaU+uxKSgUCpPsx1AMQlZEJpMB9vZil0EikslksHFkGyAiIpIqmUwGpdJ0H/EFABqh6m+lUlnrcUPGoXFERERERCQ5DTvGEVlIYGAg4uLi4OfnJ3YpJBK2ASIiIuvCIESkB3t7e4SEhIhdBomIbYCIiMi6cGgckR5ycnLwwQcfICcnR+xSSCRsA0RERNaFQYhIDwUFBdi6dSsKCgrELoVEwjZARERkXRiEiIiIiIhIchiEiIiIiIhIchiEiIiIiIhIcjhrHElSp06dDFrf398fc+bMQb9+/eDj42OmqsiS2AaIiIikjUGISA8+Pj6YO3eu2GWQiNgGiIiIrAuHxhERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCBERERERkeQwCFmR+Ph4KBQKhIaGil0KERGRTgcPHsSwYcPQvHlzyGQyfPDBB2KXRBa2ePFidO3aFa6urnBxcUH37t2xa9cuscuyqB07dqB9+/aws7NDYGAgPvnkE7FLsph169ahQ4cOcHV1hYODAyIiIvDJJ59AEASL18IgZCVyc3Mxbtw4PP3002KXQkREVKeioiK0atUKH330Eby9vcUuh0QQHx+PCRMmYP/+/UhISMCTTz6JwYMH48iRI2KXZhEnTpzAsGHDMGDAAJw5cwZz587F7Nmz8cUXX4hdmkV4eXnh3Xffxe+//44LFy7grbfewrvvvovPPvvM4rUoLX5EMjmNRoMXXngBr732GsrKypCSkiJ2SURERDoNHDgQAwcOBAD8+9//FrkaEsPOnTtrPP7oo4+wa9cubN68Gd26dROpKsv55JNP0KlTJyxYsAAAEBERgQsXLmDhwoWYPHmyyNWZX//+/Ws8Dg4Oxs8//4zffvsN06ZNs2gtDEJW4P3334dMJsO///1vvPfee2KXQ0REDdCNW/koKCqptVylVmv/Tk7LrPW4mlwuQ0iAL2QymWUKJpNLz8xFRaWqxjJdr3ddbaCRgz38vD0MPq5Go0FhYSEaNWpkbOkmkX+3EHl3Cmst1/c9AADBAT5QKhQPPc6RI0fw8ssv11gWGxuLJUuWIDMzE/7+/o9zGkZTqdS4ej2n9nIDzt/D1RluLs56H1MQBCQmJuLIkSN45513HqN64zAINXD79+/HF198gdOnT/OXDxERGU2l0WDNxp3QaHSP0y8pLcM3P+6o83G/bh0Q2tzP7HWS+eTeysfPew7rfO7B11vXspfHDDTquB9++CHu3r2L//u//zNqe1NRKhSI2/orSsvKdT7/qPdA+1ahCAt6dIjJycmpNSy0+nFOTo5oQUipVODkuST8cSlV5/OPOn9Hezv86+VReh2roKAAfn5+qKiogEajwZw5czB16tTHOwEj8BqhBiwvLw8vvPACVq9ezXHWRET0WPyaeiCme0ejtvX38UTvrlEmrogsLbp9BMKCmhm17ZMd2qBFoOEf4D///HN8+OGH2Lhxo2gBoJqzUyMMf7q7Uds2cWqEYTENf1jfsKe7w7mxcT1zw/v3gHNjR73WdXJywpkzZ3DixAmsWLECn3zyCVatWmXUcR8Hg1ADdv78eWRnZ2Pw4MFQKpVQKpWYN28eUlNToVQq8b///U/sEomIqAHpGd0OAb5NDdrGRqnAmEG9oVDwI0VDJ5PJMHJgLzja2xm0naebCwb06mzw8ZYsWYIZM2Zg69at6Nevn8Hbm0PbiBC0b2X47LujBj4FBz3/33x8fJCbm1tj2Y0bN7TPicnR3g6jBvUyeLuo1i0QGR6s9/pyuRyhoaFo27YtJk+ejJkzZ+Ltt982+LiPiz+1GrBOnTrh3LlzOHPmjPbP5MmT0axZM5w5cwaDBg0Su0QiImpAFHI5Rg9+CrY2+o+cH9i7CzzdXcxXFFmUc2NHDO/fQ+/15XIZxgzpDRsD2gwA/Oc//8F7772HHTt21JsQVG1YTDc0cdK/V6RbxzYIDdR/WGi3bt2we/fuGst27dqF5s2bi94rBgAtAv3xZIc2eq9vit4wjUaDsrKyx9qHMXiNUAPWqFEjtGlTs6F6eXnB1ta21nIiIiJ9eLg2waA+XfHT7kOPXDcsyB9doloZtP+ioiJcuXIFAFBRUYHc3FycOXMGjRs35n3w6onI8GBEXQnF6QtXHrlu324d4O/tadD+//Wvf+HLL79EXFwcWrZsqe0dcXBwQJMmTYyq2ZQc7O0wauBT+Hr99keu6+XugtiehvWGvf7663jyySfx9ttv4+9//zuOHz+O5cuXY+nSpcaWbHIDenVGSlombuXffeS6owf1hr2drd77njNnDnr06IHg4GBUVlbi4MGDWLRoEV566aXHqNg47BF6DIWFhXjrrbfQokUL2Nvbo2nTphgxYgROnDghdmlERERG69wuHOEhAQ9dx8HeDiMH9DJ4op4TJ04gKioKUVFRyMnJwX//+19ERUXhlVdeeZySycSG9nt0r0iArxee6tLe4H1/+umnKCsrw/Dhw+Hj46P9Y+mpkx8mNNAP3R7RKyKXyzBmcB+De8M6deqEn3/+Gdu2bUO7du3wn//8B/Pnz69XU2fb2CgxZnBvyOUPf3937xiJkOa+Bu27sLAQkydPRuvWrdGlSxd88cUXWLBggSg3lZUJYtzG1QrcvHkTTz75JFJTU2Fvb49WrVohOzsbubm5UCqV+OGHHzBixAixy9RKz8yFb1MPg4Y7EBGRdN0rKsHSbzagpFT3DFrPD+2LthEhFq6KLOlKRha+/kF3r4iNjRLTxo+Ah5v4PTjmUlmpwvK1m3Hz9l2dzz/doyP6PPmEZYuysF+PnMLew7q/4Pdyd8U/xw+HjbLhfrZkj5CRJkyYgNTUVERHRyMjIwMnT55EZmYm3n//fahUKrz44ovIysoSu0wAQHFpGb7ZsBMffRGH23drz49PRET0IKfGjni2f0+dz7VvFcoQJAGhzf3QvWOkzucG9e5i1SEIqO4V6aOzVyTAtyl6GdEb1tA81bU9mvl41VqukMurrg1rwCEIYBAyysmTJ7F9+3YolUrExcXBy6uqgSgUCrzzzjvo3bs3SkpKsGTJEpErrXI48SwqKirh1NgRbk2cxC6HiIgaiDYtg/BEm7Aay5o4NcJQK5gmmPTTv1cneLm71ljWMrgZottHiFSRZfl5e6Bftw41ltnaKDF68FNQyK3/Y7RCLseYwbUnw+jXvQP8mhp+89z6xvpfQQOo1WqsW7cOTz/9NDw9PWFnZ4eAgADExsbi66+/hvrPO+lu2rQJANC3b18EBQXV2s/EiRMBABs3brRc8XUoLi3DkZMXAFTd7I43XSUiIkMM7fckXJwbax+PGviUwdMrU8Nlo1RizJDe2g/9jg52GGHEtWENWa8u7RHg+1evyKA+XeHhat29YffzcGuCQb27aB8392uKXtHtRKzIdBiE/lRYWIiYmBi8+OKL2Lt3L2xtbdGuXTtoNBrs2bMHEydOxL179wAAx44dAwB07677plvVyzMzM5GZmWmZE6hDdW+Qj5c7WrVoLmotRETU8Njb2WL0oKcgA9Ctg2HTBJN18GvqgX7dq3pFDLlpprWomla+qlckPCQAnduFi12SxUW3j0DL4GZVvWGDekNuJb1hnCzhT6NGjdLe1fjbb79F7969tc/duHEDq1atwrRp09CoUSP4+/sjKysL//vf//C3v/2t1r4EQYC9vT0qKirw66+/ok+fPkbVtHztZtwrKjX6nARBwL3iEgBVN8hSNvBxnEREJJ6KykrYKJWS6gmgvwiCgIpKFexsbcQuRTSVlSooFHKrCQGG0mg0UKs1Bs+SZ25OjR3wz3HPGrVt/ToTkZw8eRIbN26EUqnEzp07a92Dp2nTppg9e7b28Z07dwAArq41x8xWk8lkcHFxwc2bN7XrGuNeUSkKi4qN3v5+JWXlAHTP/ENERKSPsvIKsUsgkZVXsA1IXWm59XyeZBAC8PPPPwMABg0apNeNSKvvfGtrW/fNo+zsqsZPl5Ya36Pj1NjB6G3ZG0RERERE1u5xPi/z0zGAixcvAgC6du2q1/r29vYoKSlBxUO+FSn/My07OBj/4hjbzQcAuw8mYP/RM/DxcsfU8c9yKAMRERER0X0YhFA1UQIANGmi3wwgrq6uKCkpqXPYmyAIuHv3rnZdYxl7jdD9vUEFhUVY8Pn/jK6BiIiIiKi+4jVCj8nZ2RkAUFBQoNf6YWFhyMrKQmpqqs7nMzMztb1FYWFhOtfRhymuEeK1QUREREREtTEIAWjdujU2b96Mo0eP6rV+dHQ09u/fj8OHD+t8vnq5n58f/P39ja7LmDGPvDaIiIiIiKTica4R4vTZAE6fPo0nnngCNjY2OHPmDFq1avXQ9U+cOIFOnTpBqVQiOTm51k1V+/Tpg/3792PatGlYtmyZGSuvjdcGERERERE9mjQnQn9AVFQURo8ejcrKSgwYMAAHDhyo8fyNGzewYMECFBdXDVPr2LEjYmNjoVKp8Pzzz+PmzZsAquZX/+CDD7B//344ODjgzTfftOh5FJeW4cjJCwCAft06MAQREREREdWBPUJ/KiwsxLBhw/Dbb78BqBrW5uvri5ycHGRlZUEQBNy5cwcuLi4AgNzcXHTr1g1Xr16Fg4MDIiIikJOTg5ycHCiVSnz//fcYPXq0Rc+BvUFERERERPphj9CfnJ2dsW/fPqxatQpPPfUUSkpK8Mcff0Aul6N///5YtWoVnJyctOt7e3vj1KlTmDFjBnx9fXHhwgWoVCo888wz+P333y0eggCgkYMDHO3t2BtERERERPQI7BGyMuXlFbC1tWEQIiIiIiJ6CAYhIiIiIiKSHA6NIyIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyWEQIiIiIiIiyfn/OCI1TQsFjSQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def pcircuit(nqubits, depth=10):\n", " \"\"\"Circuit to test performance of quantum computer\"\"\"\n", " q = QuantumRegister(nqubits)\n", " ans = ClassicalRegister(nqubits)\n", " qc = QuantumCircuit(q, ans)\n", "\n", " for level in range(depth):\n", " for qidx in range(nqubits):\n", " qc.h(q[qidx])\n", " qc.barrier()\n", " for qidx in range(nqubits):\n", " qc.rx(np.pi / 2, q[qidx])\n", " qc.barrier()\n", "\n", " for qidx in range(nqubits):\n", " if qidx != 0:\n", " qc.cx(q[qidx], q[0])\n", " for qidx in range(nqubits):\n", " qc.measure(q[qidx], ans[qidx])\n", " return q, qc\n", "\n", "\n", "q, qc = pcircuit(4, 1)\n", "qc.draw(output=\"mpl\")" ] }, { "cell_type": "markdown", "id": "ce37a3ec-3a7d-4328-a039-6eb3eda9750a", "metadata": {}, "source": [ "### Run the cirquit on the Quantum Inspire Platform\n", "First we make a connection to the Quantum Inspire platform and choose a backend." ] }, { "cell_type": "code", "execution_count": 3, "id": "2372a97f-174f-463d-91b5-8a85b32de97a", "metadata": {}, "outputs": [], "source": [ "provider = QIProvider()\n", "backend = provider.get_backend(name=\"QX emulator\")" ] }, { "cell_type": "markdown", "id": "174e22b9-cdd8-419a-aac4-a4840bab1b41", "metadata": {}, "source": [ "We run the job for a certain amount of shots in the chosen backend and wait for the results." ] }, { "cell_type": "code", "execution_count": 27, "id": "36e01187-eccd-4dde-b385-65337e4aefb6", "metadata": {}, "outputs": [], "source": [ "job = backend.run(qc, shots=1024)\n", "results = job.result(wait_for_results=True)" ] }, { "cell_type": "markdown", "id": "bde69940-3e85-4a96-9fc5-c3caf0dfcefd", "metadata": {}, "source": [ "We visualize the histogram with matplotlib." ] }, { "cell_type": "code", "execution_count": 28, "id": "0eae2daa-4f3d-450f-a2cd-8767d31603e0", "metadata": {}, "outputs": [ { "data": { "image/png": "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ssSm+yUiIiJ1suicG0v3OsnKylLsxFciIiKiwrCo8vDx8cG5c+cKffy5c+fwzDPPWNwpIiIiImtZVNy0bdsWe/bswY0bN5547I0bN7Bnzx60a9fO2r4RERERWcyi4mb48OHIyspC3759kZCQkO9x9+7dQ79+/ZCdnY333nvP5k4SERERFZZFJxQ3a9YMo0ePxqJFi1C/fn28++676NixI5599lkAwO3bt7F7924sW7YMd+/exdixY0025CMiIiIqahZvMzl//nyUK1cO8+bNw4wZMzBjxgyT20UEWq0WEyZMMLnoJREREVFxsLi40Wg0mDlzJoYOHYqIiAgcPnzYeNFKLy8vhISE4I033kCtWrUU7ywRERHRk1h9gZBatWpxZYaIiIhKHG5CQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKrC4oaIiIhUhcUNERERqQqLGyIiIlIVFjdERESkKixuiIiISFVY3BAREZGqsLghIiIiVWFxQ0RERKpS4oqbWbNmoWXLlnBxcUG1atXQu3dvXLp0yeSY9PR0DB8+HO7u7qhYsSL69OmD+Ph4O/WYiIiISpISV9zs378fw4cPx5EjR/Dbb78hKysLnTt3RmpqqvGYMWPGYNOmTVi3bh3279+P2NhYvPTSS3bsNREREZUUjvbuwOO2b99u8v8VK1agWrVqOHnyJNq1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RCQzM1OWLl0qLi4u8vvvvyuSJyIybtw4adu2rcyfP18GDx4sbdu2leDgYOnfv798+eWXcunSJTly5IhoNBpJSUlRJPNpGeeSJUskMDDQWMRlZGRIZmam8fYtW7aIu7u7bNq0SZE8EZF//vOf8sILL8iqVatk8uTJ0qVLF6lXr560bNlSPvnkEzl58qQcO3ZM0XGKiLz00ksydOhQkzadTifHjx+XAQMGSK1ateSXX35RLE9EZNCgQVKhQgVp27at9OnTR+bPny9nz541Oebw4cMybNgwxX5B9O3bV95+++087Xfv3pWPPvpIPDw8ZOHChYpk5TZo0CApV66cNG7cWJo3by5jxoyRw4cPmxxz6NAhefnll/MUetayx1jtMc5XXnlFhg0blqc9MzNTFi5cKO7u7jJq1ChFsgwGDRokTk5OUr16dalSpYr07dtXduzYYXLMwYMHJSwsLE+RVxz4tlQx+f3339G3b1/897//RefOnfPcnpmZia5du+If//gHPvjgA0UyBw4ciKpVq2LhwoXIyMjA9u3bsWXLFpw5cwZ6vR41a9bEuXPn4OXlhV27dimSef78eXTq1Alffvkl+vfvb2yXXMuhPXr0QFBQED799FNFMt98801otVp8++23yM7OxpEjR3DgwAGcOnUKsbGxKFeuHKKjo9GwYUNs27ZNkcynZZx//fUXWrdujY8//tjkeZn7HJF+/frB398fc+fOVSRz9OjRePDgAb799ls4ODjgwoULOH36NI4dO4ZTp04hMTERN2/eRLt27bBlyxZFMgGgffv2eOGFFzBp0iQApmNMTk7GsGHDcP36dWzbtg3u7u6KZAYGBiI0NBQeHh44efIk/vrrLzg4OKBWrVro2LEjXnzxRXz22WfYv38//vzzT0Uye/bsierVq+PLL78EkDP3ODg4GM+b+Oijj7Bjxw5s3boVvr6+imQCOW9vdu7cGQ0bNsSJEydw4sQJ/P333/D09ETXrl3Rr18/LFiwAPv378e5c+cUybTHWO0xzkGDBiErKwvff/89ypQpg/T0dGi1WuP5Nl988QWWLl2KDRs2oG7duopktmvXDi+++CJCQ0Nx/PhxbNmyBSdOnED58uXx0ksvYdiwYfj6669x4MAB/PHHH4pkWqTYy6mnVFpamgwaNEjq168v8+bNk6ioKHn48KHx9uTkZHnmmWfk559/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", "text/plain": [ "
" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "counts = results.data()[\"counts\"]\n", "result_map = {}\n", "for key in counts:\n", " bin_str = format(int(key, 16), \"04b\")\n", " result_map[bin_str] = counts[key]\n", "\n", "plot_histogram(result_map)" ] }, { "cell_type": "code", "execution_count": null, "id": "9c58d8d6-4dd5-49de-bfa3-6eaad80600ed", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }